home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / short30.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  49.8 KB  |  1,642 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "short.h"
  9. /*No:CALL_INFIX_LT.arguments*/
  10. void r112short(T112* C){
  11. /*IF*/if ((X662precedence((((T112*)C))->_target/*8*/))==(13)) {
  12. X662short((((T112*)C))->_target/*8*/);
  13. /*[IRF3.6short_print_feature_name*/{T112* C1=C;
  14. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T112*)C1))->_feature_name/*24*/);
  15. }/*]*/
  16. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  17. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  18. }
  19.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/))) {
  20. X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  21. }
  22. else {
  23. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  24. }
  25. /*FI*/}
  26.  else if ((X662precedence((((T112*)C))->_target/*8*/))<(6)) {
  27. X662bracketed_short((((T112*)C))->_target/*8*/);
  28. /*[IRF3.6short_print_feature_name*/{T112* C1=C;
  29. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T112*)C1))->_feature_name/*24*/);
  30. }/*]*/
  31. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  32. }
  33. else {
  34. X662short((((T112*)C))->_target/*8*/);
  35. /*[IRF3.6short_print_feature_name*/{T112* C1=C;
  36. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T112*)C1))->_feature_name/*24*/);
  37. }/*]*/
  38. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  39. }
  40. /*FI*/}
  41. T0* r112add_comment(T112* C,T0* a1){
  42. T0* R=NULL;
  43. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  44. R=(T0*)C;
  45. }
  46. else {
  47. {T529*n=malloc(sizeof(*n));
  48. *n=M529;
  49. r529make(n,(T0*)C,a1);
  50. R=(T0*)n;
  51. }
  52. }
  53. /*FI*/return R;
  54. }
  55. int r112to_integer(T112* C){
  56. int R=0;
  57. r112error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  58. return R;
  59. }
  60. void r112bracketed_short(T112* C){
  61. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  62. r112short(C);
  63. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  64. }
  65. int r112is_a(T112* C,T0* a1){
  66. int R=0;
  67. R=X291is_a(X291run_type((((T112*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  68. /*IF*/if (!(R)) {
  69. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  70. r112error(X662start_position(a1),((T0*)ms4_662));
  71. }
  72. /*FI*/return R;
  73. }
  74. /*No:CALL_INFIX_LT.is_current*/
  75. void r112make(T112* C,T0* a1,T0* a2,T0* a3){
  76. T0* _eal=NULL;
  77. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  78. r683add_position(a2);
  79. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  80. r683fatal_error(((T683*)(oBC364eh)),b1);
  81. }/*]*/
  82. }
  83. /*FI*/{T454*n=malloc(sizeof(*n));
  84. *n=M454;
  85. r454make(n,r112operator(),a2);
  86. C->_feature_name=(T0*)n;
  87. }
  88. {T431*n=malloc(sizeof(*n));
  89. *n=M431;
  90. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  91. /*]*/
  92. _eal=(T0*)n;
  93. }
  94. r112make_call_1(C,a1,(((T112*)C))->_feature_name/*24*/,_eal);
  95. }
  96. /*No:CALL_INFIX_LT.nb_errors*/
  97. /*No:CALL_INFIX_LT.feature_name*/
  98. /*No:CALL_INFIX_LT.fz_iinaiv*/
  99. /*No:CALL_INFIX_LT.run_feature*/
  100. /*No:CALL_INFIX_LT.start_position*/
  101. /*No:CALL_INFIX_LT.target*/
  102. /*No:CALL_INFIX_LT.precedence*/
  103. T0* r112to_runnable(T112* C,T0* a1){
  104. T0* R=NULL;
  105. T0* _tla=NULL;
  106. T0* _a=NULL;
  107. /*IF*/if (((((T112*)C))->_current_type/*4*/)==((void*)(NULL))) {
  108. r112to_runnable_0(C,a1);
  109. _a=r431to_runnable(((T431*)((((T112*)C))->_arguments/*20*/)),a1);
  110. /*IF*/if ((_a)==((void*)(NULL))) {
  111. r112error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  112. }
  113. else {
  114. C->_arguments=_a;
  115. }
  116. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  117. r431match_with(((T431*)((((T112*)C))->_arguments/*20*/)),(((T112*)C))->_run_feature/*12*/);
  118. }
  119. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  120. _tla=(((T112*)C))->_result_type/*16*/;
  121. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  122. case 239: 
  123. break;
  124. default:
  125. _tla=NULL;
  126. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  127. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/));
  128. }
  129. /*FI*/}
  130. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  131. R=(T0*)C;
  132. }
  133. /*FI*/}
  134. else {
  135. R=r112twin(C);
  136. /*[IRF3.3set_current_type*/((((T112*)(((T112*)R))))->_current_type)=(NULL);
  137. /*]*/
  138. R=r112to_runnable(((T112*)R),a1);
  139. }
  140. /*FI*/return R;
  141. }
  142. /*No:CALL_INFIX_LT.short_print_feature_name*/
  143. /*No:CALL_INFIX_LT.result_type*/
  144. T0* r112twin(T112* C){
  145. T0* R=NULL;
  146. R=malloc(sizeof(*C));
  147. *((T112*)R)=*C;
  148. return R;
  149. }
  150. /*No:CALL_INFIX_LT.set_current_type*/
  151. T0* r112operator(void){
  152. T0* R=NULL;
  153. R=((T0*)ms36_473);
  154. return R;
  155. }
  156. /*No:CALL_INFIX_LT.atomic_precedence*/
  157. /*No:CALL_INFIX_LT.current_type*/
  158. void r112make_call_1(T112* C,T0* a1,T0* a2,T0* a3){
  159. C->_target=a1;
  160. C->_feature_name=a2;
  161. C->_arguments=a3;
  162. }
  163. /*No:CALL_INFIX_LT.is_manifest_string*/
  164. /*No:CALL_INFIX_LT.is_void*/
  165. void r112to_runnable_0(T112* C,T0* a1){
  166. C->_current_type=a1;
  167. r112cpc_to_runnable(C,a1);
  168. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T112*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  169. /*IF*/if (((((T112*)C))->_result_type/*16*/)==((void*)(NULL))) {
  170. r683add_position(X496start_position((((T112*)C))->_run_feature/*12*/));
  171. r112error((((T454*)((T454*)((((T112*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  172. }
  173.  else if (X291is_like_current((((T112*)C))->_result_type/*16*/)) {
  174. C->_result_type=X662result_type((((T112*)C))->_target/*8*/);
  175. }
  176. /*FI*/}
  177. void r112cpc_to_runnable(T112* C,T0* a1){
  178. T0* _rc=NULL;
  179. T0* _t=NULL;
  180. _t=X662to_runnable((((T112*)C))->_target/*8*/,a1);
  181. /*IF*/if ((_t)==((void*)(NULL))) {
  182. r683add_position(X662start_position((((T112*)C))->_target/*8*/));
  183. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  184. r683fatal_error(((T683*)(oBC364eh)),b1);
  185. }/*]*/
  186. }
  187. /*FI*/C->_target=_t;
  188. _rc=X291run_class(X662result_type((((T112*)C))->_target/*8*/));
  189. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  190. r576update((((T112*)C))->_target/*8*/,(((T112*)C))->_run_feature/*12*/);
  191. }
  192. void r112error(T0* a1,T0* a2){
  193. r683add_position(a1);
  194. r683error(((T683*)(oBC364eh)),a2);
  195. }
  196. /*No:CALL_INFIX_LT.fatal_error*/
  197. /*No:CALL_INFIX_LT.fz_bad_argument*/
  198. void r112short_target(T112* C){
  199. r112bracketed_short(C);
  200. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  201. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  202. }/*]*/
  203. }
  204. /*No:CALL_INFIX_LT.arg1*/
  205. /*No:CALL_INFIX_LT.us_lt*/
  206. void r648short(T648* C){
  207. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291));
  208. r648short_hook(C);
  209. r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291));
  210. }
  211. int r648has_creation(T648* C,T0* a1){
  212. int R=0;
  213. R=X291has_creation((((T648*)C))->_run_type/*8*/,a1);
  214. return R;
  215. }
  216. /*No:TYPE_LIKE_FEATURE.is_anchored*/
  217. int r648is_array(T648* C){
  218. int R=0;
  219. R=X291is_array((((T648*)C))->_run_type/*8*/);
  220. return R;
  221. }
  222. int r648is_a(T648* C,T0* a1){
  223. int R=0;
  224. R=X291is_a((((T648*)C))->_run_type/*8*/,a1);
  225. return R;
  226. }
  227. int r648is_pointer(T648* C){
  228. int R=0;
  229. R=X291is_pointer((((T648*)C))->_run_type/*8*/);
  230. return R;
  231. }
  232. /*No:TYPE_LIKE_FEATURE.run_type*/
  233. int r648is_string(T648* C){
  234. int R=0;
  235. R=X291is_string((((T648*)C))->_run_type/*8*/);
  236. return R;
  237. }
  238. /*No:TYPE_LIKE_FEATURE.is_like_feature*/
  239. /*No:TYPE_LIKE_FEATURE.is_like_current*/
  240. T0* r648ultimate_run_type(T648* C,T0* a1){
  241. T0* R=NULL;
  242. T0* _t=NULL;
  243. _t=a1;
  244. while (!((_t)==((void*)(X291run_type(_t))))) {
  245. _t=X291run_type(_t);
  246. }
  247. /*IF*/if (((((T648*)C))->_run_type/*8*/)==((void*)(NULL))) {
  248. C->_run_type=_t;
  249. R=(T0*)C;
  250. }
  251. else {
  252. R=r648twin(C);
  253. /*[IRF3.3set_run_type*/((((T648*)(((T648*)R))))->_run_type)=(_t);
  254. /*]*/
  255. }
  256. /*FI*/return R;
  257. }
  258. void r648make(T648* C,T0* a1,T0* a2){
  259. C->_start_position=a1;
  260. C->_like_what=a2;
  261. r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470));
  262. r7append(((T7*)(oBC646tmp_written_mark)),X776to_string((((T648*)C))->_like_what/*12*/));
  263. C->_written_mark=r902item(oBC646tmp_written_mark);
  264. }
  265. void r648anchor_cycle_start(T648* C){
  266. int _i=0;
  267. /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) {
  268. r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
  269. }
  270.  else if (r907fast_has(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/)) {
  271. _i=0;
  272. while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) {
  273. r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/);
  274. _i=(_i)+(1);
  275. }
  276. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  277. r683fatal_error(((T683*)(oBC364eh)),b1);
  278. }/*]*/
  279. }
  280. else {
  281. r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
  282. }
  283. /*FI*/}
  284. /*No:TYPE_LIKE_FEATURE.fz_bad_anchor*/
  285. /*No:TYPE_LIKE_FEATURE.start_position*/
  286. /*No:TYPE_LIKE_FEATURE.like_what*/
  287. int r648is_character(T648* C){
  288. int R=0;
  289. R=X291is_character((((T648*)C))->_run_type/*8*/);
  290. return R;
  291. }
  292. /*No:TYPE_LIKE_FEATURE.written_mark*/
  293. /*No:TYPE_LIKE_FEATURE.is_run_type*/
  294. T0* r648to_runnable(T648* C,T0* a1){
  295. T0* R=NULL;
  296. T0* _rc=NULL;
  297. T0* _f=NULL;
  298. T0* _t=NULL;
  299. r648anchor_cycle_start(C);
  300. _rc=X291run_class(a1);
  301. _f=X291look_up_for(a1,_rc,(((T648*)C))->_like_what/*12*/);
  302. /*IF*/if ((_f)==((void*)(NULL))) {
  303. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms1_648));
  304. }
  305. else {
  306. _t=/*X359*/((T0*)(((T398*)((T398*)_f)))->_result_type/*12*/);
  307. /*IF*/if ((_t)==((void*)(NULL))) {
  308. r683add_position(X359start_position(_f));
  309. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms2_648));
  310. }
  311. else {
  312. _t=X291to_runnable(_t,a1);
  313. /*IF*/if ((_t)==((void*)(NULL))) {
  314. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms54_470));
  315. }
  316. else {
  317. R=r648ultimate_run_type(C,X291run_type(_t));
  318. }
  319. /*FI*/}
  320. /*FI*/}
  321. /*FI*/r648anchor_cycle_end(C);
  322. return R;
  323. }
  324. T0* r648generic_list(T648* C){
  325. T0* R=NULL;
  326. /*IF*/if (r648is_generic(C)) {
  327. R=X291generic_list((((T648*)C))->_run_type/*8*/);
  328. }
  329. else {
  330. r648fatal_error_generic_list(C);
  331. }
  332. /*FI*/return R;
  333. }
  334. /*No:TYPE_LIKE_FEATURE.is_formal_generic*/
  335. int r648is_real(T648* C){
  336. int R=0;
  337. R=X291is_real((((T648*)C))->_run_type/*8*/);
  338. return R;
  339. }
  340. T0* r648twin(T648* C){
  341. T0* R=NULL;
  342. R=malloc(sizeof(*C));
  343. *((T648*)R)=*C;
  344. return R;
  345. }
  346. int r648is_bit(T648* C){
  347. int R=0;
  348. R=X291is_bit((((T648*)C))->_run_type/*8*/);
  349. return R;
  350. }
  351. void r648fatal_error_generic_list(T648* C){
  352. r683add_type((T0*)C,((T0*)ms12_291));
  353. r683print_as_fatal_error(((T683*)(oBC364eh)));
  354. }
  355. T0* r648smallest_ancestor(T648* C,T0* a1){
  356. T0* R=NULL;
  357. R=X291smallest_ancestor((((T648*)C))->_run_type/*8*/,a1);
  358. return R;
  359. }
  360. /*No:TYPE_LIKE_FEATURE.set_run_type*/
  361. int r648is_boolean(T648* C){
  362. int R=0;
  363. R=X291is_boolean((((T648*)C))->_run_type/*8*/);
  364. return R;
  365. }
  366. int r648is_double(T648* C){
  367. int R=0;
  368. R=X291is_double((((T648*)C))->_run_type/*8*/);
  369. return R;
  370. }
  371. T0* r648run_class(T648* C){
  372. T0* R=NULL;
  373. R=r604run_class((((T648*)C))->_run_type/*8*/);
  374. return R;
  375. }
  376. T0* r648run_time_mark(T648* C){
  377. T0* R=NULL;
  378. /*IF*/if (((((T648*)C))->_run_type/*8*/)!=((void*)(NULL))) {
  379. R=X291run_time_mark((((T648*)C))->_run_type/*8*/);
  380. }
  381. /*FI*/return R;
  382. }
  383. /*No:TYPE_LIKE_FEATURE.fz_cad*/
  384. int r648is_a_in(T648* C,T0* a1,T0* a2){
  385. int R=0;
  386. T0* _ct=NULL;
  387. T0* _t2=NULL;
  388. T0* _t1=NULL;
  389. /*IF*/if (((((T648*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) {
  390. R=1;
  391. }
  392. else {
  393. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  394. _t1=r648to_runnable(C,_ct);
  395. _t2=X291to_runnable(a1,_ct);
  396. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  397. R=1;
  398. }
  399. else {
  400. R=X291is_a(_t1,_t2);
  401. }
  402. /*FI*/}
  403. /*FI*/return R;
  404. }
  405. T0* r648look_up_for(T648* C,T0* a1,T0* a2){
  406. T0* R=NULL;
  407. R=r605look_up_for(((T605*)(r648base_class(C))),a1,a2);
  408. return R;
  409. }
  410. T0* r648expanded_initializer(T648* C){
  411. T0* R=NULL;
  412. R=X291expanded_initializer((((T648*)C))->_run_type/*8*/);
  413. return R;
  414. }
  415. /*No:TYPE_LIKE_FEATURE.fz_dot*/
  416. int r648is_generic(T648* C){
  417. int R=0;
  418. R=X291is_generic((((T648*)C))->_run_type/*8*/);
  419. return R;
  420. }
  421. /*No:TYPE_LIKE_FEATURE.used_as_reference*/
  422. int r648is_reference(T648* C){
  423. int R=0;
  424. R=X291is_reference((((T648*)C))->_run_type/*8*/);
  425. return R;
  426. }
  427. void r648error(T0* a1,T0* a2){
  428. r683add_position(a1);
  429. r683error(((T683*)(oBC364eh)),a2);
  430. }
  431. T0* r648base_class(T648* C){
  432. T0* R=NULL;
  433. T0* _bcn=NULL;
  434. _bcn=r648base_class_name(C);
  435. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  436. R=r451base_class(((T451*)_bcn));
  437. }
  438. else {
  439. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  440. r7append(((T7*)(oBC683explanation)),b1);
  441. }/*]*/
  442. r683add_type((T0*)C,((T0*)ms67_470));
  443. r683print_as_fatal_error(((T683*)(oBC364eh)));
  444. }
  445. /*FI*/return R;
  446. }
  447. /*No:TYPE_LIKE_FEATURE.fatal_error*/
  448. void r648short_hook(T648* C){
  449. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_648),((T0*)ms4_648));
  450. X776short((((T648*)C))->_like_what/*12*/);
  451. }
  452. int r648is_any(T648* C){
  453. int R=0;
  454. R=X291is_any((((T648*)C))->_run_type/*8*/);
  455. return R;
  456. }
  457. T0* r648base_class_name(T648* C){
  458. T0* R=NULL;
  459. R=X291base_class_name((((T648*)C))->_run_type/*8*/);
  460. return R;
  461. }
  462. int r648is_expanded(T648* C){
  463. int R=0;
  464. R=X291is_expanded((((T648*)C))->_run_type/*8*/);
  465. return R;
  466. }
  467. /*No:TYPE_LIKE_FEATURE.fz_like_foo*/
  468. int r648is_basic_eiffel_expanded(T648* C){
  469. int R=0;
  470. R=X291is_basic_eiffel_expanded((((T648*)C))->_run_type/*8*/);
  471. return R;
  472. }
  473. int r648is_none(T648* C){
  474. int R=0;
  475. R=X291is_none((((T648*)C))->_run_type/*8*/);
  476. return R;
  477. }
  478. int r648is_integer(T648* C){
  479. int R=0;
  480. R=X291is_integer((((T648*)C))->_run_type/*8*/);
  481. return R;
  482. }
  483. void r648anchor_cycle_end(T648* C){
  484. /*IF*/if (((((T648*)C))->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[0]/*)*//*)*/))) {
  485. /*[IRF3.3clear*/((((T907*)(((T907*)(oBC646visited)))))->_upper)=(-(1));
  486. /*]*/
  487. }
  488. /*FI*/}
  489. /*No:CST_ATT_DOUBLE.arguments*/
  490. T0* r118try_to_undefine(T118* C,T0* a1,T0* a2){
  491. T0* R=NULL;
  492. X776undefine_in(a1,a2);
  493. R=r118try_to_undefine_aux(C,a1,a2);
  494. /*IF*/if ((R)!=((void*)(NULL))) {
  495. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T118*)C))->_clients/*20*/);
  496. /*]*/
  497. }
  498. else {
  499. r605fatal_undefine(((T605*)a2),a1);
  500. }
  501. /*FI*/return R;
  502. }
  503. /*No:CST_ATT_DOUBLE.is_deferred*/
  504. void r118add_into(T118* C,T0* a1){
  505. T0* _fn=NULL;
  506. int _i=0;
  507. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  508. _i=1;
  509. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  510. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  511. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  512. _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  513. r683add_position(X776start_position(_fn));
  514. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  515. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  516. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  517. r7append(((T7*)(oBC683explanation)),b1);
  518. }/*]*/
  519. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  520. }
  521. else {
  522. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  523. }
  524. /*FI*/_i=(_i)+(1);
  525. }
  526. }
  527. T0* r118try_to_undefine_aux(T118* C,T0* a1,T0* a2){
  528. T0* R=NULL;
  529. r683add_position(r118start_position(C));
  530. r118error(X776start_position(a1),((T0*)ms1_308));
  531. r605fatal_undefine(((T605*)a2),a1);
  532. return R;
  533. }
  534. void r118make(T118* C,T0* a1,T0* a2,T0* a3){
  535. r118make_e_feature(C,a1,a2);
  536. C->_value_mem=a3;
  537. }
  538. /*No:CST_ATT_DOUBLE.nb_errors*/
  539. /*No:CST_ATT_DOUBLE.set_header_comment*/
  540. T0* r118start_position(T118* C){
  541. T0* R=NULL;
  542. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  543. return R;
  544. }
  545. T0* r118to_run_feature(T118* C,T0* a1,T0* a2){
  546. T0* R=NULL;
  547. T0* _rc=NULL;
  548. _rc=X291run_class(a1);
  549. R=r368at(((T368*)_rc),a2);
  550. if(NULL!=(R))switch(((T0*)R)->id) {
  551. case 808: 
  552. break;
  553. default:
  554. R=NULL;
  555. };/*IF*/if ((R)==((void*)(NULL))) {
  556. {T808*n=malloc(sizeof(*n));
  557. *n=M808;
  558. r808make(n,a1,a2,(T0*)C);
  559. R=(T0*)n;
  560. }
  561. }
  562. /*FI*/return R;
  563. }
  564. /*No:CST_ATT_DOUBLE.ensure_assertion*/
  565. /*No:CST_ATT_DOUBLE.code_require*/
  566. /*No:CST_ATT_DOUBLE.result_type*/
  567. /*No:CST_ATT_DOUBLE.em1*/
  568. /*No:CST_ATT_DOUBLE.set_clients*/
  569. /*No:CST_ATT_DOUBLE.em2*/
  570. /*No:CST_ATT_DOUBLE.value*/
  571. /*No:CST_ATT_DOUBLE.require_assertion*/
  572. /*No:CST_ATT_DOUBLE.names*/
  573. /*No:CST_ATT_DOUBLE.value_mem*/
  574. int r118can_hide(T118* C,T0* a1,T0* a2){
  575. int R=0;
  576. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  577. /*IF*/if ((((((T118*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  578. r683add_position(X359start_position(a1));
  579. r118error(r118start_position(C),((T0*)ms5_359));
  580. }
  581. /*FI*/}
  582. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  583. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  584. r118error(r118start_position(C),((T0*)ms6_359));
  585. }
  586. /*FI*/}
  587. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  588. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  589. /*IF*/if (!(X291is_a_in((((T118*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  590. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  591. r7append(((T7*)(oBC683explanation)),b1);
  592. }/*]*/
  593. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  594. r7append(((T7*)(oBC683explanation)),b1);
  595. }/*]*/
  596. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  597. }
  598. /*FI*/}
  599. /*FI*/}
  600. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  601. /*IF*//*AF*//*AE*/
  602. /*FI*/}
  603. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  604. return R;
  605. }
  606. /*No:CST_ATT_DOUBLE.header_comment*/
  607. int r118is_merge_with(T118* C,T0* a1,T0* a2){
  608. int R=0;
  609. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  610. /*IF*/if ((((((T118*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  611. r683add_position(X359start_position(a1));
  612. r118error(r118start_position(C),((T0*)ms2_359));
  613. }
  614. /*FI*/}
  615. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  616. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  617. r118error(r118start_position(C),((T0*)ms3_359));
  618. }
  619. /*FI*/}
  620. /*FI*//*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  621. /*IF*/if (!(X291is_a_in((((T118*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  622. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  623. }
  624. /*FI*/}
  625. /*FI*//*IF*//*AF*//*AE*/
  626. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  627. return R;
  628. }
  629. /*No:CST_ATT_DOUBLE.fz_dot*/
  630. /*No:CST_ATT_DOUBLE.first_name*/
  631. /*No:CST_ATT_DOUBLE.clients*/
  632. void r118collect_for(int a1){
  633. /*IF*/if ((a1)==(1001)) {
  634. /*IF*//*AF*//*AE*/
  635. /*FI*/}
  636. else {
  637. /*IF*//*AF*//*AE*/
  638. /*FI*/}
  639. /*FI*/}
  640. void r118error(T0* a1,T0* a2){
  641. r683add_position(a1);
  642. r683error(((T683*)(oBC364eh)),a2);
  643. }
  644. /*No:CST_ATT_DOUBLE.base_class*/
  645. void r118make_e_feature(T118* C,T0* a1,T0* a2){
  646. C->_names=a1;
  647. C->_result_type=a2;
  648. }
  649. /*No:TYPE_BIT_2.nb*/
  650. /*No:TYPE_BIT_2.n*/
  651. void r558short(T558* C){
  652. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291));
  653. r558short_hook(C);
  654. r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291));
  655. }
  656. /*No:TYPE_BIT_2.fz_bit_foo*/
  657. /*No:TYPE_BIT_2.has_creation*/
  658. /*No:TYPE_BIT_2.is_anchored*/
  659. /*No:TYPE_BIT_2.is_array*/
  660. int r558is_a(T558* C,T0* a1){
  661. int R=0;
  662. T0* _other_bit=NULL;
  663. /*IF*/if (X291is_bit(a1)) {
  664. _other_bit=a1;
  665. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  666. case 549: case 558: 
  667. break;
  668. default:
  669. _other_bit=NULL;
  670. };/*IF*/if (((((T558*)C))->_nb/*20*/)<=(X609nb(_other_bit))) {
  671. R=1;
  672. }
  673. else {
  674. r683add_type((T0*)C,((T0*)ms71_470));
  675. r683add_type(a1,((T0*)ms1_609));
  676. }
  677. /*FI*/}
  678. else {
  679. R=r605is_subclass_of(((T605*)(r558base_class(C))),X291base_class(a1));
  680. /*IF*/if (R) {
  681. r683add_type((T0*)C,((T0*)ms71_470));
  682. r683add_type(a1,((T0*)ms67_470));
  683. }
  684. else {
  685. r558used_as_reference(C);
  686. }
  687. /*FI*/}
  688. /*FI*/return R;
  689. }
  690. void r558set_run_time_mark(T558* C){
  691. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  692. r7append(((T7*)(oBC291tmp_string)),r2to_string((((T558*)C))->_nb/*20*/));
  693. C->_run_time_mark=r902item(oBC291tmp_string);
  694. }
  695. /*No:TYPE_BIT_2.fz_not_found*/
  696. /*No:TYPE_BIT_2.us_put_0*/
  697. /*No:TYPE_BIT_2.run_type*/
  698. /*No:TYPE_BIT_2.is_pointer*/
  699. /*No:TYPE_BIT_2.is_string*/
  700. /*No:TYPE_BIT_2.is_like_feature*/
  701. /*No:TYPE_BIT_2.is_like_current*/
  702. /*No:TYPE_BIT_2.us_put_1*/
  703. void r558make(T558* C,T0* a1,T0* a2){
  704. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  705. r7append(((T7*)(oBC291tmp_string)),(((T446*)((T446*)a2)))->_to_string/*12*/);
  706. C->_written_mark=r902item(oBC291tmp_string);
  707. C->_start_position=a1;
  708. C->_n=a2;
  709. }
  710. /*No:TYPE_BIT_2.fz_iinaiv*/
  711. /*No:TYPE_BIT_2.start_position*/
  712. /*No:TYPE_BIT_2.fz_inako*/
  713. /*No:TYPE_BIT_2.is_character*/
  714. /*No:TYPE_BIT_2.written_mark*/
  715. /*No:TYPE_BIT_2.is_run_type*/
  716. T0* r558to_runnable(T558* C,T0* a1){
  717. T0* R=NULL;
  718. T0* _ic=NULL;
  719. T0* _rf8=NULL;
  720. T0* _rf1=NULL;
  721. T0* _rf=NULL;
  722. /*IF*/if (((((T558*)C))->_run_time_mark/*12*/)==((void*)(NULL))) {
  723. _rf=r446run_feature(((T446*)((((T558*)C))->_n/*16*/)),a1);
  724. /*IF*/if ((_rf)==((void*)(NULL))) {
  725. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  726. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms74_470);
  727. r683fatal_error(((T683*)(oBC364eh)),b1);
  728. }/*]*/
  729. }
  730. else {
  731. _rf1=_rf;
  732. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  733. case 808: 
  734. break;
  735. default:
  736. _rf1=NULL;
  737. };_rf8=_rf;
  738. if(NULL!=(_rf8))switch(((T0*)_rf8)->id) {
  739. case 892: 
  740. break;
  741. default:
  742. _rf8=NULL;
  743. };/*IF*/if ((_rf1)!=((void*)(NULL))) {
  744. _ic=X418value((((T808*)((T808*)_rf1)))->_base_feature/*40*/,1);
  745. if(NULL!=(_ic))switch(((T0*)_ic)->id) {
  746. case 342: 
  747. break;
  748. default:
  749. _ic=NULL;
  750. };/*IF*/if ((_ic)==((void*)(NULL))) {
  751. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  752. r683add_position(r808start_position(((T808*)_rf1)));
  753. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_470);
  754. r683fatal_error(((T683*)(oBC364eh)),b1);
  755. }/*]*/
  756. }
  757. /*FI*/C->_nb=(((T342*)((T342*)_ic)))->_value/*12*/;
  758. /*IF*/if (((((T558*)C))->_nb/*20*/)<(0)) {
  759. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  760. r683add_position(r808start_position(((T808*)_rf1)));
  761. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_558);
  762. r683fatal_error(((T683*)(oBC364eh)),b1);
  763. }/*]*/
  764. }
  765. /*FI*/}
  766.  else if ((_rf8)!=((void*)(NULL))) {
  767. C->_nb=r892integer_value(((T892*)_rf8),(((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  768. }
  769. else {
  770. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  771. r683add_position(X496start_position(_rf));
  772. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_470);
  773. r683fatal_error(((T683*)(oBC364eh)),b1);
  774. }/*]*/
  775. }
  776. /*FI*/r558set_run_time_mark(C);
  777. R=(T0*)C;
  778. r558to_runnable_1_2(C);
  779. }
  780. /*FI*/}
  781. else {
  782. {T558*n=malloc(sizeof(*n));
  783. *n=M558;
  784. r558make(n,(((T558*)C))->_start_position/*4*/,(((T558*)C))->_n/*16*/);
  785. R=(T0*)n;
  786. }
  787. R=r558to_runnable(((T558*)R),a1);
  788. }
  789. /*FI*/return R;
  790. }
  791. T0* r558generic_list(T558* C){
  792. T0* R=NULL;
  793. r558fatal_error_generic_list(C);
  794. return R;
  795. }
  796. /*No:TYPE_BIT_2.is_formal_generic*/
  797. /*No:TYPE_BIT_2.is_real*/
  798. /*No:TYPE_BIT_2.is_bit*/
  799. void r558fatal_error_generic_list(T558* C){
  800. r683add_type((T0*)C,((T0*)ms12_291));
  801. r683print_as_fatal_error(((T683*)(oBC364eh)));
  802. }
  803. void r558to_runnable_1_2(T558* C){
  804. T0* _rf=NULL;
  805. T0* _rc=NULL;
  806. _rc=r558run_class(C);
  807. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms105_473));
  808. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms106_473));
  809. }
  810. /*No:TYPE_BIT_2.us_bit_n*/
  811. T0* r558smallest_ancestor(T558* C,T0* a1){
  812. T0* R=NULL;
  813. T0* _other_bit=NULL;
  814. _other_bit=a1;
  815. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  816. case 549: case 558: 
  817. break;
  818. default:
  819. _other_bit=NULL;
  820. };/*IF*/if (((((T558*)C))->_nb/*20*/)<(X609nb(_other_bit))) {
  821. R=(T0*)C;
  822. }
  823. else {
  824. R=a1;
  825. }
  826. /*FI*/return R;
  827. }
  828. /*No:TYPE_BIT_2.is_boolean*/
  829. /*No:TYPE_BIT_2.is_double*/
  830. T0* r558run_class(T558* C){
  831. T0* R=NULL;
  832. R=r604run_class((T0*)C);
  833. return R;
  834. }
  835. /*No:TYPE_BIT_2.run_time_mark*/
  836. int r558is_a_in(T558* C,T0* a1,T0* a2){
  837. int R=0;
  838. T0* _ct=NULL;
  839. T0* _t2=NULL;
  840. T0* _t1=NULL;
  841. /*IF*/if (((((T558*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  842. R=1;
  843. }
  844. else {
  845. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  846. _t1=r558to_runnable(C,_ct);
  847. _t2=X291to_runnable(a1,_ct);
  848. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  849. R=1;
  850. }
  851. else {
  852. R=X291is_a(_t1,_t2);
  853. }
  854. /*FI*/}
  855. /*FI*/return R;
  856. }
  857. T0* r558look_up_for(T558* C,T0* a1,T0* a2){
  858. T0* R=NULL;
  859. R=r605look_up_for(((T605*)(r558base_class(C))),a1,a2);
  860. return R;
  861. }
  862. /*No:TYPE_BIT_2.expanded_initializer*/
  863. /*No:TYPE_BIT_2.fz_dot*/
  864. /*No:TYPE_BIT_2.is_generic*/
  865. void r558used_as_reference(T558* C){
  866. T0* _rc=NULL;
  867. T0* _type_bit_ref=NULL;
  868. /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),(((T558*)C))->_nb/*20*/)) {
  869. }
  870. else {
  871. r226add_last(((T226*)(oBC609mem_ref_nb)),(((T558*)C))->_nb/*20*/);
  872. {T963*n=malloc(sizeof(*n));
  873. *n=M963;
  874. r963make(n,(T0*)C);
  875. _type_bit_ref=(T0*)n;
  876. }
  877. r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref);
  878. _rc=r963run_class(((T963*)_type_bit_ref));
  879. r368set_at_run_time(((T368*)_rc));
  880. }
  881. /*FI*/}
  882. /*No:TYPE_BIT_2.is_reference*/
  883. T0* r558base_class(T558* C){
  884. T0* R=NULL;
  885. T0* _bcn=NULL;
  886. _bcn=r558base_class_name();
  887. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  888. R=r451base_class(((T451*)_bcn));
  889. }
  890. else {
  891. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  892. r7append(((T7*)(oBC683explanation)),b1);
  893. }/*]*/
  894. r683add_type((T0*)C,((T0*)ms67_470));
  895. r683print_as_fatal_error(((T683*)(oBC364eh)));
  896. }
  897. /*FI*/return R;
  898. }
  899. /*No:TYPE_BIT_2.fatal_error*/
  900. void r558short_hook(T558* C){
  901. r580a_class_name(((T580*)(oBC364short_print)),r558base_class_name());
  902. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_558),((T0*)ms3_558));
  903. r446short(((T446*)((((T558*)C))->_n/*16*/)));
  904. }
  905. /*No:TYPE_BIT_2.is_any*/
  906. T0* r558base_class_name(void){
  907. if (fBC609base_class_name==0){
  908. T0* R=NULL;
  909. fBC609base_class_name=1;
  910. {T451*n=malloc(sizeof(*n));
  911. *n=M451;
  912. r451make(n,((T0*)ms4_473),NULL);
  913. R=(T0*)n;
  914. }
  915. oBC609base_class_name=R;}
  916. return oBC609base_class_name;}
  917. /*No:TYPE_BIT_2.is_expanded*/
  918. /*No:TYPE_BIT_2.is_basic_eiffel_expanded*/
  919. /*No:TYPE_BIT_2.is_none*/
  920. /*No:TYPE_BIT_2.is_integer*/
  921. /*No:CALL_INFIX_OR.arguments*/
  922. void r121short(T121* C){
  923. /*IF*/if ((X662precedence((((T121*)C))->_target/*8*/))==(13)) {
  924. X662short((((T121*)C))->_target/*8*/);
  925. /*[IRF3.6short_print_feature_name*/{T121* C1=C;
  926. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T121*)C1))->_feature_name/*24*/);
  927. }/*]*/
  928. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  929. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  930. }
  931.  else if ((4)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/))) {
  932. X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  933. }
  934. else {
  935. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  936. }
  937. /*FI*/}
  938.  else if ((X662precedence((((T121*)C))->_target/*8*/))<(4)) {
  939. X662bracketed_short((((T121*)C))->_target/*8*/);
  940. /*[IRF3.6short_print_feature_name*/{T121* C1=C;
  941. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T121*)C1))->_feature_name/*24*/);
  942. }/*]*/
  943. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  944. }
  945. else {
  946. X662short((((T121*)C))->_target/*8*/);
  947. /*[IRF3.6short_print_feature_name*/{T121* C1=C;
  948. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T121*)C1))->_feature_name/*24*/);
  949. }/*]*/
  950. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  951. }
  952. /*FI*/}
  953. T0* r121add_comment(T121* C,T0* a1){
  954. T0* R=NULL;
  955. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  956. R=(T0*)C;
  957. }
  958. else {
  959. {T529*n=malloc(sizeof(*n));
  960. *n=M529;
  961. r529make(n,(T0*)C,a1);
  962. R=(T0*)n;
  963. }
  964. }
  965. /*FI*/return R;
  966. }
  967. int r121to_integer(T121* C){
  968. int R=0;
  969. r121error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  970. return R;
  971. }
  972. void r121bracketed_short(T121* C){
  973. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  974. r121short(C);
  975. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  976. }
  977. int r121is_a(T121* C,T0* a1){
  978. int R=0;
  979. R=X291is_a(X291run_type((((T121*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  980. /*IF*/if (!(R)) {
  981. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  982. r121error(X662start_position(a1),((T0*)ms4_662));
  983. }
  984. /*FI*/return R;
  985. }
  986. /*No:CALL_INFIX_OR.is_current*/
  987. void r121make(T121* C,T0* a1,T0* a2,T0* a3){
  988. T0* _eal=NULL;
  989. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  990. r683add_position(a2);
  991. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  992. r683fatal_error(((T683*)(oBC364eh)),b1);
  993. }/*]*/
  994. }
  995. /*FI*/{T454*n=malloc(sizeof(*n));
  996. *n=M454;
  997. r454make(n,r121operator(),a2);
  998. C->_feature_name=(T0*)n;
  999. }
  1000. {T431*n=malloc(sizeof(*n));
  1001. *n=M431;
  1002. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1003. /*]*/
  1004. _eal=(T0*)n;
  1005. }
  1006. r121make_call_1(C,a1,(((T121*)C))->_feature_name/*24*/,_eal);
  1007. }
  1008. /*No:CALL_INFIX_OR.nb_errors*/
  1009. /*No:CALL_INFIX_OR.feature_name*/
  1010. /*No:CALL_INFIX_OR.fz_iinaiv*/
  1011. /*No:CALL_INFIX_OR.run_feature*/
  1012. /*No:CALL_INFIX_OR.start_position*/
  1013. /*No:CALL_INFIX_OR.target*/
  1014. /*No:CALL_INFIX_OR.precedence*/
  1015. T0* r121to_runnable(T121* C,T0* a1){
  1016. T0* R=NULL;
  1017. T0* _tla=NULL;
  1018. T0* _a=NULL;
  1019. /*IF*/if (((((T121*)C))->_current_type/*4*/)==((void*)(NULL))) {
  1020. r121to_runnable_0(C,a1);
  1021. _a=r431to_runnable(((T431*)((((T121*)C))->_arguments/*20*/)),a1);
  1022. /*IF*/if ((_a)==((void*)(NULL))) {
  1023. r121error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  1024. }
  1025. else {
  1026. C->_arguments=_a;
  1027. }
  1028. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1029. r431match_with(((T431*)((((T121*)C))->_arguments/*20*/)),(((T121*)C))->_run_feature/*12*/);
  1030. }
  1031. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1032. _tla=(((T121*)C))->_result_type/*16*/;
  1033. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1034. case 239: 
  1035. break;
  1036. default:
  1037. _tla=NULL;
  1038. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1039. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/));
  1040. }
  1041. /*FI*/}
  1042. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1043. R=(T0*)C;
  1044. }
  1045. /*FI*/}
  1046. else {
  1047. R=r121twin(C);
  1048. /*[IRF3.3set_current_type*/((((T121*)(((T121*)R))))->_current_type)=(NULL);
  1049. /*]*/
  1050. R=r121to_runnable(((T121*)R),a1);
  1051. }
  1052. /*FI*/return R;
  1053. }
  1054. /*No:CALL_INFIX_OR.short_print_feature_name*/
  1055. /*No:CALL_INFIX_OR.result_type*/
  1056. T0* r121twin(T121* C){
  1057. T0* R=NULL;
  1058. R=malloc(sizeof(*C));
  1059. *((T121*)R)=*C;
  1060. return R;
  1061. }
  1062. /*No:CALL_INFIX_OR.set_current_type*/
  1063. T0* r121operator(void){
  1064. T0* R=NULL;
  1065. R=((T0*)ms41_473);
  1066. return R;
  1067. }
  1068. /*No:CALL_INFIX_OR.atomic_precedence*/
  1069. /*No:CALL_INFIX_OR.current_type*/
  1070. void r121make_call_1(T121* C,T0* a1,T0* a2,T0* a3){
  1071. C->_target=a1;
  1072. C->_feature_name=a2;
  1073. C->_arguments=a3;
  1074. }
  1075. /*No:CALL_INFIX_OR.is_manifest_string*/
  1076. /*No:CALL_INFIX_OR.is_void*/
  1077. void r121to_runnable_0(T121* C,T0* a1){
  1078. C->_current_type=a1;
  1079. r121cpc_to_runnable(C,a1);
  1080. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T121*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1081. /*IF*/if (((((T121*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1082. r683add_position(X496start_position((((T121*)C))->_run_feature/*12*/));
  1083. r121error((((T454*)((T454*)((((T121*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1084. }
  1085.  else if (X291is_like_current((((T121*)C))->_result_type/*16*/)) {
  1086. C->_result_type=X662result_type((((T121*)C))->_target/*8*/);
  1087. }
  1088. /*FI*/}
  1089. void r121cpc_to_runnable(T121* C,T0* a1){
  1090. T0* _rc=NULL;
  1091. T0* _t=NULL;
  1092. _t=X662to_runnable((((T121*)C))->_target/*8*/,a1);
  1093. /*IF*/if ((_t)==((void*)(NULL))) {
  1094. r683add_position(X662start_position((((T121*)C))->_target/*8*/));
  1095. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1096. r683fatal_error(((T683*)(oBC364eh)),b1);
  1097. }/*]*/
  1098. }
  1099. /*FI*/C->_target=_t;
  1100. _rc=X291run_class(X662result_type((((T121*)C))->_target/*8*/));
  1101. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1102. r576update((((T121*)C))->_target/*8*/,(((T121*)C))->_run_feature/*12*/);
  1103. }
  1104. void r121error(T0* a1,T0* a2){
  1105. r683add_position(a1);
  1106. r683error(((T683*)(oBC364eh)),a2);
  1107. }
  1108. /*No:CALL_INFIX_OR.fatal_error*/
  1109. /*No:CALL_INFIX_OR.fz_bad_argument*/
  1110. void r121short_target(T121* C){
  1111. r121bracketed_short(C);
  1112. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  1113. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  1114. }/*]*/
  1115. }
  1116. /*No:CALL_INFIX_OR.arg1*/
  1117. /*No:CALL_INFIX_OR.us_or*/
  1118. /*No:CALL_INFIX_GE.arguments*/
  1119. void r890short(T890* C){
  1120. /*IF*/if ((X662precedence((((T890*)C))->_target/*8*/))==(13)) {
  1121. X662short((((T890*)C))->_target/*8*/);
  1122. /*[IRF3.6short_print_feature_name*/{T890* C1=C;
  1123. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T890*)C1))->_feature_name/*24*/);
  1124. }/*]*/
  1125. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  1126. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  1127. }
  1128.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/))) {
  1129. X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  1130. }
  1131. else {
  1132. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  1133. }
  1134. /*FI*/}
  1135.  else if ((X662precedence((((T890*)C))->_target/*8*/))<(6)) {
  1136. X662bracketed_short((((T890*)C))->_target/*8*/);
  1137. /*[IRF3.6short_print_feature_name*/{T890* C1=C;
  1138. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T890*)C1))->_feature_name/*24*/);
  1139. }/*]*/
  1140. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  1141. }
  1142. else {
  1143. X662short((((T890*)C))->_target/*8*/);
  1144. /*[IRF3.6short_print_feature_name*/{T890* C1=C;
  1145. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T890*)C1))->_feature_name/*24*/);
  1146. }/*]*/
  1147. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  1148. }
  1149. /*FI*/}
  1150. T0* r890add_comment(T890* C,T0* a1){
  1151. T0* R=NULL;
  1152. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1153. R=(T0*)C;
  1154. }
  1155. else {
  1156. {T529*n=malloc(sizeof(*n));
  1157. *n=M529;
  1158. r529make(n,(T0*)C,a1);
  1159. R=(T0*)n;
  1160. }
  1161. }
  1162. /*FI*/return R;
  1163. }
  1164. int r890to_integer(T890* C){
  1165. int R=0;
  1166. r890error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1167. return R;
  1168. }
  1169. void r890bracketed_short(T890* C){
  1170. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  1171. r890short(C);
  1172. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  1173. }
  1174. int r890is_a(T890* C,T0* a1){
  1175. int R=0;
  1176. R=X291is_a(X291run_type((((T890*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  1177. /*IF*/if (!(R)) {
  1178. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  1179. r890error(X662start_position(a1),((T0*)ms4_662));
  1180. }
  1181. /*FI*/return R;
  1182. }
  1183. /*No:CALL_INFIX_GE.is_current*/
  1184. void r890make(T890* C,T0* a1,T0* a2,T0* a3){
  1185. T0* _eal=NULL;
  1186. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1187. r683add_position(a2);
  1188. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1189. r683fatal_error(((T683*)(oBC364eh)),b1);
  1190. }/*]*/
  1191. }
  1192. /*FI*/{T454*n=malloc(sizeof(*n));
  1193. *n=M454;
  1194. r454make(n,r890operator(),a2);
  1195. C->_feature_name=(T0*)n;
  1196. }
  1197. {T431*n=malloc(sizeof(*n));
  1198. *n=M431;
  1199. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1200. /*]*/
  1201. _eal=(T0*)n;
  1202. }
  1203. r890make_call_1(C,a1,(((T890*)C))->_feature_name/*24*/,_eal);
  1204. }
  1205. /*No:CALL_INFIX_GE.nb_errors*/
  1206. /*No:CALL_INFIX_GE.feature_name*/
  1207. /*No:CALL_INFIX_GE.fz_iinaiv*/
  1208. /*No:CALL_INFIX_GE.run_feature*/
  1209. /*No:CALL_INFIX_GE.start_position*/
  1210. /*No:CALL_INFIX_GE.target*/
  1211. /*No:CALL_INFIX_GE.precedence*/
  1212. /*No:CALL_INFIX_GE.us_ge*/
  1213. T0* r890to_runnable(T890* C,T0* a1){
  1214. T0* R=NULL;
  1215. T0* _tla=NULL;
  1216. T0* _a=NULL;
  1217. /*IF*/if (((((T890*)C))->_current_type/*4*/)==((void*)(NULL))) {
  1218. r890to_runnable_0(C,a1);
  1219. _a=r431to_runnable(((T431*)((((T890*)C))->_arguments/*20*/)),a1);
  1220. /*IF*/if ((_a)==((void*)(NULL))) {
  1221. r890error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  1222. }
  1223. else {
  1224. C->_arguments=_a;
  1225. }
  1226. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1227. r431match_with(((T431*)((((T890*)C))->_arguments/*20*/)),(((T890*)C))->_run_feature/*12*/);
  1228. }
  1229. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1230. _tla=(((T890*)C))->_result_type/*16*/;
  1231. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1232. case 239: 
  1233. break;
  1234. default:
  1235. _tla=NULL;
  1236. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1237. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/));
  1238. }
  1239. /*FI*/}
  1240. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1241. R=(T0*)C;
  1242. }
  1243. /*FI*/}
  1244. else {
  1245. R=r890twin(C);
  1246. /*[IRF3.3set_current_type*/((((T890*)(((T890*)R))))->_current_type)=(NULL);
  1247. /*]*/
  1248. R=r890to_runnable(((T890*)R),a1);
  1249. }
  1250. /*FI*/return R;
  1251. }
  1252. /*No:CALL_INFIX_GE.short_print_feature_name*/
  1253. /*No:CALL_INFIX_GE.result_type*/
  1254. T0* r890twin(T890* C){
  1255. T0* R=NULL;
  1256. R=malloc(sizeof(*C));
  1257. *((T890*)R)=*C;
  1258. return R;
  1259. }
  1260. /*No:CALL_INFIX_GE.set_current_type*/
  1261. T0* r890operator(void){
  1262. T0* R=NULL;
  1263. R=((T0*)ms32_473);
  1264. return R;
  1265. }
  1266. /*No:CALL_INFIX_GE.atomic_precedence*/
  1267. /*No:CALL_INFIX_GE.current_type*/
  1268. void r890make_call_1(T890* C,T0* a1,T0* a2,T0* a3){
  1269. C->_target=a1;
  1270. C->_feature_name=a2;
  1271. C->_arguments=a3;
  1272. }
  1273. /*No:CALL_INFIX_GE.is_manifest_string*/
  1274. /*No:CALL_INFIX_GE.is_void*/
  1275. void r890to_runnable_0(T890* C,T0* a1){
  1276. C->_current_type=a1;
  1277. r890cpc_to_runnable(C,a1);
  1278. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T890*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1279. /*IF*/if (((((T890*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1280. r683add_position(X496start_position((((T890*)C))->_run_feature/*12*/));
  1281. r890error((((T454*)((T454*)((((T890*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1282. }
  1283.  else if (X291is_like_current((((T890*)C))->_result_type/*16*/)) {
  1284. C->_result_type=X662result_type((((T890*)C))->_target/*8*/);
  1285. }
  1286. /*FI*/}
  1287. void r890cpc_to_runnable(T890* C,T0* a1){
  1288. T0* _rc=NULL;
  1289. T0* _t=NULL;
  1290. _t=X662to_runnable((((T890*)C))->_target/*8*/,a1);
  1291. /*IF*/if ((_t)==((void*)(NULL))) {
  1292. r683add_position(X662start_position((((T890*)C))->_target/*8*/));
  1293. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1294. r683fatal_error(((T683*)(oBC364eh)),b1);
  1295. }/*]*/
  1296. }
  1297. /*FI*/C->_target=_t;
  1298. _rc=X291run_class(X662result_type((((T890*)C))->_target/*8*/));
  1299. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1300. r576update((((T890*)C))->_target/*8*/,(((T890*)C))->_run_feature/*12*/);
  1301. }
  1302. void r890error(T0* a1,T0* a2){
  1303. r683add_position(a1);
  1304. r683error(((T683*)(oBC364eh)),a2);
  1305. }
  1306. /*No:CALL_INFIX_GE.fatal_error*/
  1307. /*No:CALL_INFIX_GE.fz_bad_argument*/
  1308. void r890short_target(T890* C){
  1309. r890bracketed_short(C);
  1310. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  1311. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  1312. }/*]*/
  1313. }
  1314. /*No:CALL_INFIX_GE.arg1*/
  1315. /*No:CALL_INFIX_TIMES.arguments*/
  1316. void r414short(T414* C){
  1317. /*IF*/if ((X662precedence((((T414*)C))->_target/*8*/))==(13)) {
  1318. X662short((((T414*)C))->_target/*8*/);
  1319. /*[IRF3.6short_print_feature_name*/{T414* C1=C;
  1320. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T414*)C1))->_feature_name/*24*/);
  1321. }/*]*/
  1322. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  1323. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  1324. }
  1325.  else if ((8)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/))) {
  1326. X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  1327. }
  1328. else {
  1329. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  1330. }
  1331. /*FI*/}
  1332.  else if ((X662precedence((((T414*)C))->_target/*8*/))<(8)) {
  1333. X662bracketed_short((((T414*)C))->_target/*8*/);
  1334. /*[IRF3.6short_print_feature_name*/{T414* C1=C;
  1335. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T414*)C1))->_feature_name/*24*/);
  1336. }/*]*/
  1337. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  1338. }
  1339. else {
  1340. X662short((((T414*)C))->_target/*8*/);
  1341. /*[IRF3.6short_print_feature_name*/{T414* C1=C;
  1342. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T414*)C1))->_feature_name/*24*/);
  1343. }/*]*/
  1344. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  1345. }
  1346. /*FI*/}
  1347. T0* r414add_comment(T414* C,T0* a1){
  1348. T0* R=NULL;
  1349. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1350. R=(T0*)C;
  1351. }
  1352. else {
  1353. {T529*n=malloc(sizeof(*n));
  1354. *n=M529;
  1355. r529make(n,(T0*)C,a1);
  1356. R=(T0*)n;
  1357. }
  1358. }
  1359. /*FI*/return R;
  1360. }
  1361. int r414to_integer(T414* C){
  1362. int R=0;
  1363. r414error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1364. return R;
  1365. }
  1366. void r414bracketed_short(T414* C){
  1367. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  1368. r414short(C);
  1369. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  1370. }
  1371. int r414is_a(T414* C,T0* a1){
  1372. int R=0;
  1373. R=X291is_a(X291run_type((((T414*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  1374. /*IF*/if (!(R)) {
  1375. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  1376. r414error(X662start_position(a1),((T0*)ms4_662));
  1377. }
  1378. /*FI*/return R;
  1379. }
  1380. /*No:CALL_INFIX_TIMES.is_current*/
  1381. void r414make(T414* C,T0* a1,T0* a2,T0* a3){
  1382. T0* _eal=NULL;
  1383. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1384. r683add_position(a2);
  1385. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1386. r683fatal_error(((T683*)(oBC364eh)),b1);
  1387. }/*]*/
  1388. }
  1389. /*FI*/{T454*n=malloc(sizeof(*n));
  1390. *n=M454;
  1391. r454make(n,r414operator(),a2);
  1392. C->_feature_name=(T0*)n;
  1393. }
  1394. {T431*n=malloc(sizeof(*n));
  1395. *n=M431;
  1396. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1397. /*]*/
  1398. _eal=(T0*)n;
  1399. }
  1400. r414make_call_1(C,a1,(((T414*)C))->_feature_name/*24*/,_eal);
  1401. }
  1402. /*No:CALL_INFIX_TIMES.nb_errors*/
  1403. /*No:CALL_INFIX_TIMES.feature_name*/
  1404. /*No:CALL_INFIX_TIMES.fz_iinaiv*/
  1405. /*No:CALL_INFIX_TIMES.run_feature*/
  1406. /*No:CALL_INFIX_TIMES.start_position*/
  1407. /*No:CALL_INFIX_TIMES.target*/
  1408. /*No:CALL_INFIX_TIMES.precedence*/
  1409. T0* r414to_runnable(T414* C,T0* a1){
  1410. T0* R=NULL;
  1411. T0* _tla=NULL;
  1412. T0* _a=NULL;
  1413. /*IF*/if (((((T414*)C))->_current_type/*4*/)==((void*)(NULL))) {
  1414. r414to_runnable_0(C,a1);
  1415. _a=r431to_runnable(((T431*)((((T414*)C))->_arguments/*20*/)),a1);
  1416. /*IF*/if ((_a)==((void*)(NULL))) {
  1417. r414error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  1418. }
  1419. else {
  1420. C->_arguments=_a;
  1421. }
  1422. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1423. r431match_with(((T431*)((((T414*)C))->_arguments/*20*/)),(((T414*)C))->_run_feature/*12*/);
  1424. }
  1425. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1426. _tla=(((T414*)C))->_result_type/*16*/;
  1427. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1428. case 239: 
  1429. break;
  1430. default:
  1431. _tla=NULL;
  1432. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1433. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/));
  1434. }
  1435. /*FI*/}
  1436. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1437. R=(T0*)C;
  1438. }
  1439. /*FI*/}
  1440. else {
  1441. R=r414twin(C);
  1442. /*[IRF3.3set_current_type*/((((T414*)(((T414*)R))))->_current_type)=(NULL);
  1443. /*]*/
  1444. R=r414to_runnable(((T414*)R),a1);
  1445. }
  1446. /*FI*/return R;
  1447. }
  1448. /*No:CALL_INFIX_TIMES.short_print_feature_name*/
  1449. /*No:CALL_INFIX_TIMES.result_type*/
  1450. T0* r414twin(T414* C){
  1451. T0* R=NULL;
  1452. R=malloc(sizeof(*C));
  1453. *((T414*)R)=*C;
  1454. return R;
  1455. }
  1456. /*No:CALL_INFIX_TIMES.set_current_type*/
  1457. T0* r414operator(void){
  1458. T0* R=NULL;
  1459. R=((T0*)ms38_473);
  1460. return R;
  1461. }
  1462. /*No:CALL_INFIX_TIMES.atomic_precedence*/
  1463. /*No:CALL_INFIX_TIMES.current_type*/
  1464. void r414make_call_1(T414* C,T0* a1,T0* a2,T0* a3){
  1465. C->_target=a1;
  1466. C->_feature_name=a2;
  1467. C->_arguments=a3;
  1468. }
  1469. /*No:CALL_INFIX_TIMES.is_manifest_string*/
  1470. /*No:CALL_INFIX_TIMES.is_void*/
  1471. void r414to_runnable_0(T414* C,T0* a1){
  1472. C->_current_type=a1;
  1473. r414cpc_to_runnable(C,a1);
  1474. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T414*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1475. /*IF*/if (((((T414*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1476. r683add_position(X496start_position((((T414*)C))->_run_feature/*12*/));
  1477. r414error((((T454*)((T454*)((((T414*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1478. }
  1479.  else if (X291is_like_current((((T414*)C))->_result_type/*16*/)) {
  1480. C->_result_type=X662result_type((((T414*)C))->_target/*8*/);
  1481. }
  1482. /*FI*/}
  1483. void r414cpc_to_runnable(T414* C,T0* a1){
  1484. T0* _rc=NULL;
  1485. T0* _t=NULL;
  1486. _t=X662to_runnable((((T414*)C))->_target/*8*/,a1);
  1487. /*IF*/if ((_t)==((void*)(NULL))) {
  1488. r683add_position(X662start_position((((T414*)C))->_target/*8*/));
  1489. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1490. r683fatal_error(((T683*)(oBC364eh)),b1);
  1491. }/*]*/
  1492. }
  1493. /*FI*/C->_target=_t;
  1494. _rc=X291run_class(X662result_type((((T414*)C))->_target/*8*/));
  1495. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1496. r576update((((T414*)C))->_target/*8*/,(((T414*)C))->_run_feature/*12*/);
  1497. }
  1498. /*No:CALL_INFIX_TIMES.us_muls*/
  1499. void r414error(T0* a1,T0* a2){
  1500. r683add_position(a1);
  1501. r683error(((T683*)(oBC364eh)),a2);
  1502. }
  1503. /*No:CALL_INFIX_TIMES.fatal_error*/
  1504. /*No:CALL_INFIX_TIMES.fz_bad_argument*/
  1505. void r414short_target(T414* C){
  1506. r414bracketed_short(C);
  1507. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  1508. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  1509. }/*]*/
  1510. }
  1511. /*No:CALL_INFIX_TIMES.arg1*/
  1512. T0*oBC817tmp_file_read=NULL;
  1513. /*No:STD_OUTPUT.make*/
  1514. void r830append_file(T830* C,T0* a1){
  1515. char _c=0;
  1516. r675connect_to(((T675*)(oBC817tmp_file_read)),a1);
  1517. r675read_character(((T675*)(oBC817tmp_file_read)));
  1518. while (!(r675end_of_input(((T675*)(oBC817tmp_file_read))))) {
  1519. _c=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC817tmp_file_read))))->_memory/*12*/))/*)*/;
  1520. /*[IRF3.6put_character*/{T830* C1=C;
  1521. char b1=_c;
  1522. putc(b1,((FILE*)(stdout)));
  1523. }/*]*/
  1524. r675read_character(((T675*)(oBC817tmp_file_read)));
  1525. }
  1526. r675disconnect(((T675*)(oBC817tmp_file_read)));
  1527. }
  1528. /*No:STD_OUTPUT.flush*/
  1529. void r830put_string(T830* C,T0* a1){
  1530. int _i=0;
  1531. _i=1;
  1532. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  1533. /*[IRF3.6put_character*/{T830* C1=C;
  1534. char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  1535. putc(b1,((FILE*)(stdout)));
  1536. }/*]*/
  1537. _i=(_i)+(1);
  1538. }
  1539. }
  1540. void r830put_integer(T830* C,int a1){
  1541. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC817tmp_string)))))->_count)=(0);
  1542. /*]*/
  1543. r2append_in(a1,oBC817tmp_string);
  1544. r830put_string(C,oBC817tmp_string);
  1545. }
  1546. /*No:STD_OUTPUT.put_character*/
  1547. /*No:RUN_FEATURE_9.arguments*/
  1548. /*No:RUN_FEATURE_9.actuals_clients*/
  1549. void r904make(T904* C,T0* a1,T0* a2,T0* a3){
  1550. C->_current_type=a1;
  1551. C->_name=a2;
  1552. C->_base_feature=a3;
  1553. r199put(((T199*)((((T368*)((T368*)(r904run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  1554. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  1555. C->_use_current_state=1015;
  1556. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  1557. r904initialize(C);
  1558. r604pop(((T604*)(oBC364small_eiffel)));
  1559. }
  1560. /*No:RUN_FEATURE_9.name*/
  1561. int r904arg_count(T904* C){
  1562. int R=0;
  1563. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  1564. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  1565. }
  1566. /*FI*/return R;
  1567. }
  1568. /*No:RUN_FEATURE_9.local_vars*/
  1569. /*No:RUN_FEATURE_9.base_feature*/
  1570. T0* r904start_position(T904* C){
  1571. T0* R=NULL;
  1572. R=X249start_position((((T904*)C))->_base_feature/*40*/);
  1573. return R;
  1574. }
  1575. /*No:RUN_FEATURE_9.ensure_assertion*/
  1576. int r904is_exported_in(T904* C,T0* a1){
  1577. int R=0;
  1578. R=r636gives_permission_to(((T636*)(r904clients(C))),a1);
  1579. return R;
  1580. }
  1581. /*No:RUN_FEATURE_9.result_type*/
  1582. void r904add_client(T904* C,T0* a1){
  1583. int _i=0;
  1584. /*IF*/if (((((T904*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  1585. {T187*n=malloc(sizeof(*n));
  1586. *n=M187;
  1587. r187with_capacity(n,4);
  1588. C->_actuals_clients=(T0*)n;
  1589. }
  1590. r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  1591. }
  1592. else {
  1593. _i=r187fast_index_of(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  1594. /*IF*/if ((_i)>((((T187*)((T187*)((((T904*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  1595. r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  1596. }
  1597. /*FI*/}
  1598. /*FI*/r368add_client(((T368*)(r904run_class(C))),a1);
  1599. }
  1600. /*No:RUN_FEATURE_9.require_assertion*/
  1601. /*No:RUN_FEATURE_9.use_current_state*/
  1602. /*No:RUN_FEATURE_9.current_type*/
  1603. T0* r904run_class(T904* C){
  1604. T0* R=NULL;
  1605. R=X291run_class((((T904*)C))->_current_type/*4*/);
  1606. return R;
  1607. }
  1608. /*No:RUN_FEATURE_9.ucs_not_computed*/
  1609. T0* r904clients(T904* C){
  1610. T0* R=NULL;
  1611. T0* _bfbc=NULL;
  1612. T0* _bc=NULL;
  1613. /*IF*/if (((((T904*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  1614. _bc=X291base_class((((T904*)C))->_current_type/*4*/);
  1615. _bfbc=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*40*/))))->_base_class/*4*/);
  1616. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  1617. R=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*40*/))))->_clients/*20*/);
  1618. }
  1619. else {
  1620. R=r605clients_for(((T605*)_bc),(((T904*)C))->_name/*16*/);
  1621. }
  1622. /*FI*/C->_clients_memory=R;
  1623. }
  1624. else {
  1625. R=(((T904*)C))->_clients_memory/*8*/;
  1626. }
  1627. /*FI*/return R;
  1628. }
  1629. /*No:RUN_FEATURE_9.clients_memory*/
  1630. void r904initialize(T904* C){
  1631. C->_arguments=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*40*/))))->_arguments/*24*/);
  1632. /*IF*/if ((((((T904*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  1633. C->_arguments=r31to_runnable(((T31*)((((T904*)C))->_arguments/*20*/)),(((T904*)C))->_current_type/*4*/);
  1634. }
  1635. /*FI*/C->_result_type=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*40*/))))->_result_type/*12*/);
  1636. /*IF*/if (((((T904*)C))->_result_type/*24*/)!=((void*)(NULL))) {
  1637. C->_result_type=X291to_runnable((((T904*)C))->_result_type/*24*/,(((T904*)C))->_current_type/*4*/);
  1638. }
  1639. /*FI*/}
  1640. /*No:REAL_CONSTANT.short*/
  1641.  
  1642.